#pragma once
#include <vector>
#include <string>

class parse_stream_c {
	std::vector< char > var_data;
	int var_position;
public:

	// ctor
	parse_stream_c(char const * text);
	// ctor
	parse_stream_c();

	// set our text
	void begin_text(char const * text);
	// set our text
	void begin_file(char const * path);

	// check if the stream starts with something
	int starts(char const * text) const;
	// check if the stream starts with a space
	int starts_space() const;
	// try to read a token
	bool try_read(char const * text);
	
	// read a line
	std::string read_line();
	// read a single character
	char read_char();
	// advance the stream
	int advance(int characters);

	// do we have more data availible 
	bool more() const;

};